package com.hrbxlh.dao;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

@Repository
public interface ProfessionDao {

	/**
	 * @description 获取全部专业信息
	 * @param Map<String, Object> 参数与数据库column一致。
	 * @return List<Map<String,String>> 部门集合
	 * @throws Exception
	 */
	public List<Map<String,Object>> getProfessionList(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 删除专业信息
	 * @param Map<String, Object> 参数与数据库column一致。
	 * @return 
	 * @throws Exception
	 */
	public void delProfessions(List<String> paramList) throws Exception;
	
	/**
	 * @description 删除专业的专业方向信息
	 * @param Map<String, Object> 参数与数据库column一致。
	 * @return 
	 * @throws Exception
	 */
	public void delDirectByProfessionId(List<String> paramList) throws Exception;
	
	/**
	 * @description 删除该专业与地点的关联信息
	 * @param Map<String, Object> 参数与数据库column一致。
	 * @return 
	 * @throws Exception
	 */
	public void delSiteReProfessionById(List<String> paramList) throws Exception;
	
	/**
	 * @description 获取某个名字的专业信息
	 * @param Map<String, Object> 参数与数据库column一致。
	 * @return List<Map<String,String>> 
	 * @throws Exception
	 */
	public List<Map<String,Object>> getProfessionByName(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 添加专业
	 * @param Map<String, Object> 参数与数据库column一致。
	 * @return  
	 * @throws Exception
	 */
	public void addProfession(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 查询专业信息通过id
	 * @param Map<String,Object> paramMap  专业id
	 * @return Map<String, String> 
	 * @throws Exception
	 */
	public Map<String, Object> getProfessionDetail(Map<String, Object> paramMap) throws Exception ;
	
	/**
	 * @description 修改专业
	 * @param Map<String,Object> paramMap  专业id
	 * @return Map<String, String> result true成功，false失败 failMsg错误信息
	 * @throws Exception
	 */
	public void saveProfession(Map<String, Object> paramMap) throws Exception ;
	
	/**
	 * @description 查询某个专业下的教师信息
	 * @param professionId
	 * @return List<Map<String,Object>> userList
	 * @throws Exception
	 */
	public List<Map<String, Object>> getUserByProfessionId(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 查询某个专业下的班级
	 * @param professionId
	 * @return List<Map<String,Object>> userList
	 * @throws Exception
	 */
	public List<Map<String, Object>> getClassByProfessionId(Map<String, Object> paramMap) throws Exception ;
	
	/**
	 * @description 获取专业下的地点信息
	 * @param professionId
	 * @return List<Map<String,Object>> userList
	 * @throws Exception
	 */
	public List<Map<String, Object>> getSiteByProfessionId(Map<String, Object> paramMap) throws Exception ;
}
